package com.jsb.laundry.service;

import com.alibaba.fastjson.JSONArray;
import com.jsb.laundry.model.entity.FactoryList;
import com.jsb.laundry.model.vo.DeliveryListVo;
import com.jsb.laundry.model.vo.FactoryListVo;
import com.jsb.laundry.model.vo.ListVo;
import com.jsb.laundry.model.vo.WaybillListVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DriverService {
    /**
     * 工厂列表
     * @return
     */
    List<FactoryList> findByFactoryList(String driverStatus);
    List<FactoryList> findByOkFactory(String driverStatus);
    List<FactoryList> findByList(String driverStatus);
    /**
     * 查询用户是否是司机
     * @param userId
     * @return
     */
    String findByDriverStatus(String userId);
    /**
     * 工厂列表
     * @return
     */
    List<FactoryListVo> factoryList();
    /**
     * 运单列表
     * @return
     */
    List<WaybillListVo> waybillList(String shopsId,String driverStatus);
    /**
     * 更新检查状态
     * @param orderItemId
     * @return
     */
    int checkStatus(String orderItemId,String driverStatus);

    WaybillListVo queryOrderInformation(String orderItemId,String driverStatus);

    FactoryList findByFactory(String shopsId,String driverStatus);
    FactoryList findByFactoryOk(String shopsId,String driverStatus);
    List<WaybillListVo> orderList(String shopsId,String driverStatus);
    int updExceptionStatus(String orderItemId);

    int addException(String orderFulfillmentsId,String orderDirection,String orderItemId);

    List<WaybillListVo> exceptionList(String shopsId);

    List<WaybillListVo> findByOk(String driverStatus);

    String findByDirection(String orderFulfillmentsId);

    int updateOrderStatus(List orderId,String driverStatus);

    List<String> findByOrderId(List orderFulfillmentsId);


    int shopOrdersItemStatus(List subOrderIdList);

    int driverOrdersItemStatus(List subOrderIdList,String driverStatus,String orderDirection);

    int factoryOrdersStatus(List orderId);

    int updException(String img, String problem,String orderItemId);

    int rExceptionData(String orderItemId);

    List<String>  findByDirectionList(List list);

    List<ListVo> productsScanned(String driverStatus,String shopsId);

    String findByOrderItemId(String orderFulfillmentsId);

    String findByOrderIdItme(String orderItemId);

    String findByDirectionOrderId(String orderId);

    int updateOrder(String orderId);

    int updateFactory(String orderId);
    int addOrderDriver(String orderId,String orderItemId,String orderDirection);

    String findByOrderIdStr(String subOrderId);

    String findByorderItemId(String orderFulfillmentsId);

    List<DeliveryListVo> deliveryList(String keywords, String startTime, String endTime);

    String findByShopsId(String subOrderId);

    String findByShopsType(String shopsId);

    String findByOrderFulfillmentsId(String orderItemId);

    int updateShopsStatus(List list);
}
